* nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
authorAdrian Robert <Adrian.B.Robert@gmail.com>
Sun, 1 Feb 2009 16:32:26 +0000 (16:32 +0000)
committerAdrian Robert <Adrian.B.Robert@gmail.com>
Sun, 1 Feb 2009 16:32:26 +0000 (16:32 +0000)
XT,w32read_socket changes to ns_read_socket.
* keyboard.c (handle_interrupt): Don't call
quit_throw_to_read_char() under NS.
* blockinput.h: Remove NS-specific code.

src/keyboard.c

index f3ebf9fdc968c1327889cc0fefcbba5d7e66eb9e..e5d0896100116c430bffdc35fd60e012e1f7d8cc 100644 (file)
@@ -11125,8 +11125,17 @@ handle_interrupt ()
        Vquit_flag = Qt;
     }
 
+/* TODO: The longjmp in this call throws the NS event loop integration off,
+         and it seems to do fine without this.  Probably some attention
+        needs to be paid to the setting of waiting_for_input in
+         wait_reading_process_output() under HAVE_NS because of the call
+         to ns_select there (needed because otherwise events aren't picked up
+         outside of polling since we don't get SIGIO like X and we don't have a
+         separate event loop thread like W32. */
+#ifndef HAVE_NS
   if (waiting_for_input && !echoing)
       quit_throw_to_read_char ();
+#endif
 }
 
 /* Handle a C-g by making read_char return C-g.  */
@@ -11183,7 +11192,7 @@ See also `current-input-mode'.  */)
 #endif /* NO_SOCK_SIGIO */
     }
   else
-#endif
+#endif /* HAVE_X_WINDOWS */
     new_interrupt_input = !NILP (interrupt);
 #else /* not SIGIO */
   new_interrupt_input = 0;